package com.lesama.stream.buffer;

/*
    字节缓冲流在源代码中内置了字节数组，可以提高读写效率
        字节换成输入流： public BufferedInputStream(InputStream in)
        字节缓冲输出流： public BufferedOutputStream(OutputStream out)
    原理： 底层实现了一个缓冲数组，8192个字节，一次读满8192个字节后，再读取，就会先释放缓冲数组的内容
    这样相较于多次的读取效率会更高
 */

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferStreamDemo {
    public static void main(String[] args) throws IOException {
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\b.txt"));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\c.txt"));
        int len;
        byte[] bys = new byte[1024];
        while((len = bis.read(bys)) != -1) {
            bos.write(bys, 0, len);
        }
        bis.close();
        bos.close();
    }
}
